Computer initialization data generation that accesses task and initialization databases based on computer ID

ABSTRACT

An initialization data generator includes a task database in which task descriptions for initializing a computer are specified related with task IDs and an initialization database in which initialization data descriptions for initializing a computer are stored related with initialization data IDs. The initialization data generator takes input of the computer ID of a computer to be initialized and task data, reads task descriptions and initialization data descriptions according to task ordering related with the task data from the task database and the initialization database, based on the task IDs, task ordering, and the initialization data IDs for software modules which are loaded into the computer to be initialized by the tasks corresponding to the task IDs, specified in the task data, and generates and transfers initialization data to the computer to be initialized, thereby initializing the computer to be initialized.

CLAIM OF PRIORITY

The present application claims priority from Japanese application serialNo. 2007-53859, filed on Mar. 5, 2007, the contents of which are herebyincorporated by reference into this application.

FIELD OF THE INVENTION

The present invention relates to a computer initialization system and,particularly, relates to a computer initialization system for generatinginitialization data for automatic initialization of a computer,appropriately according to computer and software configurations requiredby users.

BACKGROUND OF THE INVENTION

As methods for installing initialization-software into a computer toinitialize the computer, for example, methods described in JapanesePatent No. 3173361 and Japanese Patent Application Laid-Open No.H6(1994)-51958 are known. Japanese Patent No. 3173361 discloses atechnique for installing software into a computer automatically via anetwork. According to this, an installation server is provided with ameans for automatically generating unique parameters such as computernames corresponding to a plurality of computers to be initialized, byusing their respective network addresses. Thereby, it is possible toreduce task time for installing respective initialization-softwareprograms into a plurality of computers connected to a system.

Meanwhile, Japanese Patent Application Laid-Open No. H6(1994)-51958discloses an installation media creating device for creatinginstallation media having respective contents conforming to differentusers. This installation media creating device comprises an installationsoftware storage means in which software to be installed is stored, aninput means for inputting user-dependent data, a software generatingmeans for changing installation software by user-dependent data andgenerating user-dependent installation software, and a media creatingmeans for creating installation media based on user-dependentinstallation software generated by the software generating means.

By the way, computers have diverse configurations according to functionsand uses. Particularly, for embedded computers, their configurations aremuch diversified. For example, there even are many computers configuredwithout an interface for network connection, a CD-ROM, or a hard disk.Further even as to software to be loaded into computers, it is requiredto provide catering to varieties of software, because some computers donot use universal basic software (Operating System; OS) and othercomputers use a sophisticated OS for network services. Therefore, thereis a need for preparing different items of application software programsthat are implemented, appropriately according to requirements ofrespective users of computers.

However, the methods for initializing computers, described in theabove-mentioned prior arts and the like, have a problem in which anadequate consideration is not taken for catering to differentconfigurations depending on functions and uses of computers required byusers and differences of application software programs to beimplemented.

Specifically, the installation server disclosed in Japanese Patent No.3173361 acquires a parameter essential to installation for a machineinto which software should be installed from a unique parameterinformation database. Therefore, a precondition is that a machine intowhich software should be installed and the installation server beconnected by a network. Consequently, this method cannot apply to acomputer without a network interface. If a parameter corresponding to amachine into which software should be installed does not exist in theunique parameter information database, a parameter essential toinstallation is determined by a prearranged rule. This rule has to bedetermined before hand and it is hard to satisfy a demand for anarbitrary combination of application software programs.

The installation media creating device disclosed in Japanese PatentApplication Laid-Open No. H6(1994)-51958 changes installation softwareby user-dependent data that has been input from the user-dependent datainput unit and generates and outputs user-dependent installationsoftware. Here, the user-dependent data is information such as acomputer environment, user environment, and software environmentspecific for an individual user corresponding to a user name. Thisleaves a problem of not meeting a demand of specifying a combination ofapplication software programs to be installed optionally into anindividual computer. In Japanese Patent Application Laid-Open No.H6(1994)-51958, no description is provided as to the configuration ofthe user-dependent input unit. Therefore, it is unclear how to registerand refer to user-dependent data and it must be solved how to register acombination of application software programs optionally into anindividual computer.

In general, products of embedded computers are available withdiversified types, but inmost cases, the number of products manufacturedper type is relatively small. Because of a reduction in themanufacturing cost per machine, the number of used parts is reduced asfew as possible. For this reason, in most cases, such computers are notequipped with interfaces for basic software and installation media suchas, for example, BIOS (Basic Input/Output System) ROM and CD-ROM,generally found in a personal computer (PC). Under such restrictions,there is a demand for a method that makes it possible to perform notonly a software installation task in a manufacturing process up to amaintenance task after product shipment at less cost and infallibly.

The present invention is to provide a computer initialization systemthat can flexibly cater to differences among hardware configurations andsoftware configurations of computers and is convenient.

SUMMARY OF THE INVENTION

a computer initialization system according to the present invention ischaracterized by comprising: an initialization data generator includinga task database in which task descriptions for initializing a computerare specified related with task IDs; and an initialization database inwhich initialization data descriptions for initializing the computer arestored related with initialization data IDs.

Further, the initialization data generator comprises: a data acquisitionmeans which takes input of a computer ID for identifying the computerand task data for initialization of the computer, wherein the task dataspecifies the task IDs for identifying the task descriptions, taskordering for initialization task, and the initialization data IDs foridentifying initialization data of initialization-software to beinstalled into the computer; and an initialization data generation meanswhich reads the task descriptions and the initialization datadescriptions from the task database and the initialization databaseaccording to the task ordering, by using the task IDs, the task orderingand the initialization data IDs, and generates the initialization datafor initializing the computer according to the data descriptions.

That is, the initialization data generator includes the task database inwhich task descriptions for initializing a computer are specifiedrelated with the IDs (identification codes) of initialization tasks andthe initialization database in which initialization data descriptionsfor initializing a computer are stored related with the IDs(identification codes) of initialization data for software. By inputtingthe computer ID of a computer to be initialized and task data in whichthe initialization data IDs for installation software modules, the taskIDs, and task ordering are specified to the initialization datagenerator, it is possible to automatically initialize a computer havingintended functions, flexibly catering differences among hardwareconfigurations and software configurations among computers to beinitialized and by convenient work. Thus, by only reading the computerID identifying a computer and task data, initialization data appropriatefor the computer ID can be generated. Generated initialization data canbe transferred in a form allowing for initializing the computer to beinitialized.

In this aspect, the initialization data generator may include aninitialization data output means for transferring the initializationdata generated by the initialization data generation means to thecomputer.

Further, a computer database may be provided in which the computer ID ofthe computer and the task data are related and stored. Also, theinitialization data generator may lo include a relating means forrelating the computer ID and the task data acquired by the target dataacquisition means with each other to store them into the computerdatabase.

Additionally, the initialization data output means may be configured tooutput the initialization data to an initialization media that isconnectable to the computer.

Further, the computer initialization system may include a wireless tagin which the computer ID of the computer and the task data are describedand an input device that reads the computer ID and the task data fromthe wireless tag and transmits them to the target data acquisitionmeans.

In another aspect of the present invention, a computer initializationsystem may comprise: an ID input device for reading a computer ID foridentifying a computer to be initialized and a task data forinitialization of the computer. The task data specifies task IDs foridentifying initialization-task descriptions, task ordering forinitialization task, and initialization data IDs for identifyinginitialization data of initialization-software to be installed into thecomputer.

Further the system includes: a task database for specifying taskdescriptions for initializing the computer related with the task IDs; aninitialization database for storing initialization data descriptions forinitializing the computer related with the initialization data IDs; aninitialization data generator which is connected to the input device viaa communication means, reads the task descriptions and theinitialization data descriptions from the task database and theinitialization database according to the task ordering related with thetask data, by using the computer ID and the task data which are inputfrom the input device, and generates the initialization data forinitializing the computer according to the data descriptions; and amedia input device including an initialization media for connecting tothe initialization data generator via a communication means to store theinitialization data transferred from the initialization data generator,a memory for containing an initialization program for the computer, anda computer interface that, by request from the computer to beinitialized, transfers the initialization program for reading theinitialization data from the initialization media to the computer.

In this aspect, the initialization data generator may further include atag data setting means that sets computer tag data, based on thecontents of the computer database, the task database, and theinitialization database. The computer tag data includes at least one ofthe following: parameters for software included in the initializationdata, TCP port numbers for applications for setup, installation softwareversion information, manufacturing date, and a manufacturing serialnumber. The initialization data generator may transfer and write thecomputer tag data to a computer tag provided in or attached to thecomputer to be initialized. In this way, setup data relevant to thecomputer to be initialized can be held in the computer tag and, when thecomputer to be initialized is put to maintenance, necessary informationcan be acquired without accessing the databases provided in aninitialization data server, and maintainability is improved.

For use of the computer initialization system of the present invention,a simple arrangement needs to be added to the computer to beinitialized. Specifically, there are need to provide a media inputdevice interface connected to the computer interface of the media inputdevice via a communication means and a selector means that allows anarithmetic processing means of the computer to be initialized to getaccess to the media input device need to be provided. When the selectormeans selects a path allowing access to the media input device, thearithmetic processing means reads and executes the initializationprogram residing in the media input device via the media input deviceinterface and the computer interface. Thereby initialization data storedin the initialization media is written into a program memory of thecomputer, consequently completing initialization.

It is possible to automate an overall procedure of acquiring thecomputer ID from the computer to be initialized, generatinginitialization data related with the computer ID, and finallytransferring the initialization data to the computer to be initialized,and thereby productivity can be improved.

As described above, according to the present invention, for embeddedcomputers for which a variety of setup, application software, andcombination thereof would be needed depending on requiredspecifications, software installation and setup can be initializedwithout fail.

Further, in maintenance work after shipment of computers besides themanufacturing process, maintenance of installation software can befacilitated.

According to the present invention, it is possible to provide a computerinitialization system that can flexibly cater to differences amonghardware configurations and software configurations of computers and isconvenient.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram representing a schematic framework of acomputer initialization system of a first embodiment of the presentinvention.

FIG. 2 is a block diagram showing an example of a configuration of aninitialization data server.

FIG. 3 is a flowchart illustrating an operation flow of the computerinitialization system of the first embodiment.

FIG. 4 illustrates an example of a task data structure in a task sheetin the first embodiment.

FIG. 5 illustrates an example of a computer data structure in a computerDB in the first embodiment.

FIG. 6 illustrates an example of a task data structure in a task DB inthe first embodiment.

FIG. 7 illustrates an example of an initialization data structure in aninitialization DB in the first embodiment.

FIG. 8A shows exemplary structures of a media input device and acomputer to be initialized in the first embodiment.

FIG. 8B shows an example of address mapping in a computer to beinitialized.

FIG. 9 is a block diagram representing a schematic framework of acomputer initialization system of a second embodiment of the presentinvention.

FIG. 10 is a flowchart illustrating an operation flow of the computerinitialization system of the second embodiment.

FIG. 11 is a diagram showing an example of a configuration of a computerto be initialized in a computer initialization system of a thirdembodiment of the present invention.

FIG. 12 is a diagram showing an example of a configuration of a mediainput device in a computer initialization system of a fourth embodimentof the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following, preferred embodiments of the present invention will beexplained.

First Embodiment

A block diagram shown in FIG. 1 represents a schematic framework of acomputer initialization system of a first embodiment of the presentinvention. As shown, the computer initialization system of the presentembodiment comprises an initialization data server 1 corresponding to aninitialization data generator, an ID input device 2, aninitialization-target computer 3 to be initialized, a task sheet 4, aninitialization media 5, a media input device 6, and an initializationdata input means 7 comprised of the initialization media 5 and the mediainput device 6.

The initialization data server 1 is a computer which generatesinitialization data for initializing the computer 3. It comprises acomputer database (DB) 10, a task database (DB) 11, an initializationdatabase (DB) 12, an ID data acquisition means 15, a relating means 16,an initialization data generation means 17, and a media output means 18.

A computer ID 8 is set in the computer 3 to be initialized. The computerID 8 is an identification code used to identify the computer 3. A uniquecode may be assigned to each computer 3 or a code that designates a typemay be assigned to a plurality of computers 3 of the same type. Forexample, it is possible to use EPC (Electronic Product Code; TM) whichis a product numbering scheme capable of providing unique identificationacross the globe.

In the task sheet 4, as is shown in FIG. 4, task data 9 necessary forinitialization and the like of the computer 3 is described. The taskdata 9 includes initialization task ordering, task ID to identify a taskdescription, and initialization data ID to identify initialization datarelevant to a software to be installed by an initialization taskcorresponding to a task ID. Here, the software comes in a variety ofprograms such as application software programs, basic software programsfor running applications, and setup files. The following description ofthe present embodiment assumes that the computer ID 8 and the task data9 are, for example, stored in a wireless tag such as RFID (RadioFrequency Identification) and attached to the computer 3 to beinitialized.

The ID input device 2 is linked to the computer 3 and the task sheet 4via a data transmission means such as a wireless communication channel.Thus, the ID input device 2 is configured to have a function to acquirethe computer ID 8 and the task data 9 through communication with, forexample, the wireless tag attached to the computer 3. The ID inputdevice 2 is also configured to have means for transmitting data acquiredfrom the computer 3 or the task sheet 4 to the initialization dataserver 1.

The ID data acquisition means 15 is arranged to take in the computer ID8 and the task data 9 transmitted from the ID input device 2 andtransfer them to the relating means 16. The relating means 16 isarranged to relate the computer ID and the task data 9 and store theminto the computer DB 10.

In the task DB 11, as is shown in FIG. 6, initialization task orderingand descriptions are stored in advance, related with task ID of the taskdata 9. In the initialization DB 12, as is shown in FIG. 7,initialization data descriptions for software are stored in advance,related with initialization ID of the task data 9. The initializationdata generation means 17 is arranged to generate initialization dataaccording to the descriptions stored in the initialization DB 12 andoutput the initialization data to the initialization media 5 via themedia output means 18.

The initialization media 5 consists of a storage device or acommunication channel for delivering initialization data generated bythe initialization data server 1 to the computer 3. The media inputdevice 6 is a device that mediates between the initialization media 5and the computer to be initialized 3 and has a function to convertvarious types of memories and communication channels into a connectionscheme suitable for the computer 3. A detailed configuration of themedia input device 6 will be described later with reference to FIGS. 8A,8B.

Here, although the ID input device 2, the computer 3 to be initialized,the task sheet 4, and the initialization media 5 are all single units asshown in FIG. 1, these may be plural ones, respectively. It is possibleto relate a plurality of lo task sheets 4 to one computer to beinitialized 3 or inversely relate one task sheet 4 to a plurality ofcomputers to be initialized 3.

A detailed configuration of the initialization data server 1 is shown inFIG. 2. As shown, the initialization data server 1 comprises elementssuch as a CPU 20, an internal bus 21, a RAM 22, a communication unit 23,a nonvolatile memory 24, a media output unit 25, and an ID dataacquisition unit 26. These components are configured to be able totransfer data to each other via the internal bus 21. The CPU 20 isarranged to read the followings memorized in the nonvolatile memory 24:namely, OS 30, instructions and constants of programs in which therelating means 16 and the initialization data generation means 17 arerealized. These instructions and constants are memorized into the RAM 22as necessary, thereby, in accordance with the instructions andconstants, the computer perform reading or writing to execute softwareprocessing. The communication unit 23 is arranged to perform processingto transmit data to a network 32 via the internal bus 21 according to arequest from the CPU 20, and contrarily to perform processing to reporta process received from the network 32 to the CPU 20. The communicationunit 23 also notifies the CPU 20 that its status has changed and that aprocessing request has occurred, by an interrupt signal. The CPU 20 isarranged to execute a series of software for generating the aboveinitialization data and interrupt processing from the communication unit23. The media output unit 25 is a device having the function of themedia output means 18 in FIG. 1 and processes input/output to theinitialization media 5. The ID data acquisition unit 26 is a devicehaving the function of the ID data acquisition means in FIG. 1, andconnects with the ID input device 2 to take input of data from the IDinput device 2.

A flowchart of processing operation of the computer initializationsystem of the present embodiment is shown in FIG. 3. Upon input of ainstruction to start initialization, the ID input device 2 acquires acomputer ID 8 from the computer 3 and task data 9 (FIG. 4) from the tasksheet 4 to send these data to the ID data acquisition means 15 of theinitialization data server 1 (step 100). The ID data acquisition means15 transfers the received computer ID 8 and task data 9 to the relatingmeans 16. The relating means 16 generates computer data (FIG. 5) inwhich these computer ID 8 and task data 9 are correlated, and registersthis data into the computer DB 10 (step 102). Then, it is checkedwhether another task remains in the task data 9 related with theacquired computer ID 8 (step 103). If another task remains, the flowgoes to step 104. If no task remains, the flow goes to step 108.

In the case that another task remains, the initialization datageneration means 17 acquires an initialization data description of aninitialization data ID related with each task ID of the task data 9 fromthe initialization DB 12 and generates initialization data (step 104).Here, the initialization data includes software for achieving functionsrequired of the computer 3 to be initialized, the software, such as, forexample, application software programs, basic software programs forrunning applications, and setup files. Then, the media output means 18operates the initialization media 5, using the initialization datagenerated by the initialization data generation means 17, according to atask description acquired from the task DB 11 (step 106).

In the case that no task remains, the initialization media 5 whereinitialization data has been written, is act as the initialization inputmeans 7 by joining together with the media input device 6, so that theinitialization input means is connected to the computer 3 (step 108).After that, the computer 3 transfers the initialization data stored inthe initialization input means 7 into its nonvolatile memory 86 andterminates the initialization process (step 109).

The computer initialization system of the present invention isconfigured to read the computer ID 8 and task data 9 from the ID inputdevice 2, generate initialization data for realizing required functionsof the computer 3, transfer the initialization data to the computer 3,and execute initialization.

Here, a concrete example of the procedure for generating initializationdata according to the present embodiment is explained. An example of atask data 9 is shown in FIG. 4. As shown, the task data 9 comprisesattributes such as task ordering 40, task ID 41, and initialization dataID 42. In FIG. 4, an example is presented where task data 9 includingtuples 44 to 46 corresponding to task items is set. A tuple 44 in theexample means that, in the “first” task order, “INIT-OS” designated asthe task ID, i.e., writing of OS is processed and its initializationdata is specified by ID “0x0012”. Here, the initialization data ID 42 inthe task data 9 corresponds to initialization data ID which has beenstored into the initialization DB 12 before hand. In the presentspecification, a code having “0x” as a prefix denotes a valuerepresented in hexadecimal. Although character strings and numericalvalues are given by way of example as task ID and initialization data IDvalues, any recognizable codes may be used alternatively.

Meanwhile, a tuple 45 means that, in the “second” task order,“ERASE-APL” designated as the task ID, i.e., clearing the applicationarea is processed. Since the ERASE-APL processing does not needinitialization data, a special code “NULL” is described in theinitialization data ID 42 field for the tuple 45. Likewise, a tuple 46means that, in the “third” task order, “INIT-DRV” designated as the taskID, i.e., writing of a device driver is performed to initialization data“0x0014” specified as the initialization data ID.

An example of a computer data structure stored in the computer DB 10 isshown in FIG. 5. The relating means 16 relates the computer ID 8 andtask data 9 acquired via the ID data acquisition means 15 and registersthem in a form shown in FIG. 5 into the computer DB 10. This processingis executed in step 102 in the processing flowchart of FIG. 3.

Computer data in the present embodiment comprises attributes such ascomputer ID 50, task ordering 51, task ID 52, and initialization data ID53. In FIG. 5, an example is presented where tuples 56 to 59 arerecorded as computer data. The computer data ID 50 corresponds to thecomputer ID 8 acquired from the initialization-target computer 3. Thetask ordering 51, task ID 52, and initialization data ID 53 respectivelycorrespond to the task ordering 40, task ID 41, and initialization dataID 42 acquired from the task data 9. In this way, task ordering, taskdescription, and initialization data used for the task can be correlatedper initialization-target computer by the computer data.

Here, the meaning of a tuple included in the computer data is explained,taking a tuple 56 as an example. The tuple 56 means that, to thecomputer 3 having the computer ID 50 of “0x0001”, in the “first” of taskorder 51, the task of “INIT-OS” designated by the task ID 52 isprocessed with initialization data “0x0012” specified by theinitialization data ID 53. A tuple 57 specifies the task to be executedin the “second” of task order 51 to the computer 3 having the computerID 50. Thus, it is possible to specify the order of a series of tasks,which consists of a plurality of different tasks, to be executed to thecomputer 3.

An example of an initialization task data in the task DB 11 is shown inFIG. 6. In the task DB 11, initialization task data shown in FIG. 6 isstored beforehand. The initialization task data in the presentembodiment comprises attributes such as task ID 60, intra-task ordering61, and task description 62. In FIG. 6, an example is presented wheretuples 65 to 69 are recorded as initialization task data for therespective attributes. The task data ID 60 of the initialization taskdata corresponds to the task ID 41 in the task data 9. The intra-taskordering 61 indicates the order in which each processing is executed inthe task having the same task ID. The task description 62 specifies eachprocessing to be executed by the initialization data server 1, mainlydescribing an operation to the initialization media 5.

Here, the meaning of a tuple included in the initialization task data isexplained, taking a tuple 65 as an example. The tuple 65 means aprocessing set to be executed within the task “INIT-OS” designated asthe task ID 60 and means that, in the “first” of intra-task order 61 ofthe task ID, “clearing the OS area” is executed as the task description62. “Clearing the OS area” is, in particular, as follows: For example,when the initialization media 5 is a flash memory disk as per PC cardspecifications, this refers to setting the area where the OS is storedto a series of predetermined values (all bits 0 or all bits 1). On theother hand, when the initialization media 5 is an optical media such asCD-R or CD-RW, this may include formatting.

Also a tuple 66 means that the task ID 60 is “INIT-OS” which is the sameas the tuple 65, and it is specified that the intra-task order 61 is“second” and the task description 62 is “writing data into the OS area”.The data mentioned here refers to data specified by the initializationdata ID 42 included in the task data 9. In this way, by using theinitialization task data stored in the task DB 11, processing details ona task designated by task ID 60 can be set flexibly.

An example of an initialization data stored in the initialization DB 12is shown in FIG. 7. Contents of initialization data in theinitialization DB 12 are set and stored in advance into theinitialization DB 12 before the use of the initialization data server 1.The initialization data in the present embodiment comprises attributessuch as initialization data ID 70, identifier 71, and initializationdata description 72. In FIG. 7, an example is presented where tuples 75to 79 are recorded as initialization data for the attributes. Theinitialization data ID 70 corresponds to the initialization data ID 42in the task data 9. The identifier 71 is a unique code related with eachof a plurality of initialization data descriptions belonging to aninitialization data ID 70. In the present embodiment, serial numbers asthe identifier are assigned to the initialization data descriptions inthe initialization DB 12. The initialization data descriptions 72 aredata that is practically used for initialization, it can store objectcodes and setup files which are data entities, therein. Such descriptionmay be data or a character string indicating a position where a dataentity is stored. In the present embodiment, character stringsindicating positions where data entities are stored on theinitialization data server 1, are stored in the initialization datadescription 72. It is preferable to store data entities in a file system(not shown) which is, for example, built in the nonvolatile memory 24.

Here, the meaning of a tuple included in the initialization data isexplained, taking a tuple 75 as an example. The tuple 75 specifies thatinitialization data with the initialization data ID 70 of “0x0012” andthe identifier 71 of “1” is “/data/kernel-1” specified by theinitialization data description 72. Initialization data having “0x0012”as the initialization ID 70 consists of “/data/kernel-1” and“/data/kernel-1-conf”, as seen from the tuple 75 and tuple 76. Likewise,initialization data having 0x0014 as the initialization data ID 70consists of “/data/etc/drv-1”, “/data/etc/drv-2”, and “/data/etc/drv-3”.

In this way, by using the initialization DB 12, initialization dataentities can be specified flexibly, related with initialization data ID.

The task data 9, computer DB 10, task DB 11, and initialization DB 12described hereinbefore are all normalized so that they can beimplemented as relational databases. If these databases are constructedso that they are consistent even if a tuple is inserted, updated, ordeleted, the attributes to be candidate keys are not limited to theabove structure examples. For example, the identifiers 71 in theinitialization DB 12 may be configured to be main keys in combinationwith an initialization data ID 70. In particular, it is only requiredthat the identifiers be assigned not to be duplicated within the sameinitialization data ID 70.

Provision of all of the computer DB 10, task DB 11, and initializationDB 12 is not always necessary. For example, if there is only a simpletask description such as “writing to the initialization media” and datathat is used for initialization is few, these databases may be combinedand an computer initialization task database may be prepared which isconstructed by extracting only necessary attributes such as computer ID,task description, and initialization data description.

Next, processing in the steps 104 and 106 in FIG. 3, i.e., processingthat is executed by the initialization data generation means 17 and themedia output means 18, is explained. First, initialization datageneration means 17 selects a tuple related with the computer ID 8 ofthe computer 3 from the computer DB 10. According to the appropriatetask ordering 51 within the selected tuple, it selects the related taskID 52 and initialization data ID 53. It acquires a detailed taskdescription related with the task ID 52 from the task DB 11 and aninitialization data description related with the initialization data ID53 from the initialization DB 12.

Then, the initialization data generation means 17 operates theinitialization media 5 via the media output unit 25, based on theinitialization task data acquired from the task DB 11 according to thetask ordering 51. Next, the initialization data generation means 17transfers a file set, in which files are collected and stored in aposition within a file system designated by the initialization datadescription 72 related with the initialization data ID 53 acquired fromthe initialization DB 12, to the computer 3, by using the initializationdata input means 7.

Here, using FIGS. 8A and 8B, a concrete embodiment of transferringinitialization data to the computer 3 by using the initialization datainput means 7, is explained in detail. FIG.8A shows detailedconfigurations of the media input device 6 and the computer 3 and anexample of their connection. In the computer 3 to be initialized, forexample, when it is an embedded computer, memories and input/outputinterfaces which are not used in usual operation are, commonly, notimplemented. Therefore, a configuration example of a computer configuredwith minimum necessary elements is shown in FIG.8A. However, it isneedless to say that application of the present invention is not limitedto embedded computers and the present invention can be applied togeneral computers.

As shown in FIG.8A, the media input device 6 comprises a media interface(hereinafter, interface is abbreviated to I/F) 80 for connection withthe initialization media 5, a nonvolatile memory 81, and a computer I/F82 for connection with the computer 3. According to request from thecomputer 3, the computer I/F 82 transfers programs and data stored inthe nonvolatile memory 81 and the initialization media 5 to thecomputer. The media I/F 80 provides an electrical and logical interfacespecific for the initialization media 5 and transfers data between thecomputer I/F 82 and the initialization media 5. An initializationprogram 84 is stored in the nonvolatile memory 81.

The computer 3 comprises a wireless tag 84 in which the computer ID 8 isstored, a media input device I/F 85 for connection with the media inputdevice 6, a nonvolatile memory 86, a memory selector 87, and a CPU 88.The media input device I/F 85 of the computer 3 is connected to thecomputer I/F 82 of the media input device 6 via a transmission path 83.

The memory selector 87 is configured to switch an object where the CPU88 gets access, between the nonvolatile memory 86 and the nonvolatilememory 81 of the media input device 6, according to a memory selectsignal 89 and an address from the CPU 88. When the memory selector 87selects the media input device I/F 85, the CPU 88 is arranged to readthe initialization program 84 from the nonvolatile memory 81 via themedia input device I/F 85. The CPU 88 is configured to execute the readinitialization program 84, read the initialization data description 72stored in the initialization media 5, make a switchover of the memoryselector 87 to transfer the initialization data to its local nonvolatilememory 86.

FIG. 8B shows address maps viewed from the CPU 88 when the memory selectsignal 89 is setting for usual operation and when it is setting forinitialization. The left part of FIG. 8B shows the address map when thememory select signal 89 is setting for usual operation, wherein the CPU88 gets access to the nonvolatile memory 86. The right part of FIG. 8Bshows the address map when the memory select signal 89 is setting forinitialization, wherein the CPU 88 gets access to the nonvolatile memory81 and the nonvolatile memory 86 both ways according to an address.

The memory select signal 89 may be set by hardware such as a mode selectswitch. The memory select signal 89 may be output when the media inputdevice I/F 85 detects a connection of the media input device 6.

Here, how the computer 3 in FIG. 8A acquires initialization data fromthe initialization media 5 is explained concretely. In general, thenonvolatile memory 86 of the computer 3 is initialized at the stage whenit is shipped from a parts manufacturer. That is, the parts manufacturerof the computer 3 writes programs into the nonvolatile memory 86 by aROM writer, before the parts manufacturer ships the nonvolatile memory86 after writing necessary programs into the nonvolatile memory 86 andimplementing it into the computer. In the case where the manufacturerwrites programs into the nonvolatile memory 86, it is necessary to fixwhat programs are implement into each computer at the stage of shipment.Therefore, such writing operation becomes complex if different programsare implement into each computer, respectively.

By the way, a nonvolatile memory called a BIOS ROM is used in a personalcomputer (PC). In such case, it is possible to preload into the BIOS ROMa program for reading contents of an external storage device, e.g.,CD-ROM and transferring therefrom necessary programs and data into aninternal nonvolatile memory and a hard disk device. In the case ofembedded computers, the BIOS ROM is, commonly, not implemented to avoida cost increase by the BIOS ROM. In this case, the nonvolatile memory 86is empty in its initial state when the computer is shipped.Consequently, the CPU 88 cannot operate with access to the nonvolatilememory 86, because no programs are loaded into the memory. Therefore,conventionally, it has been necessary to write programs into thenonvolatile memory 86 directly, using, e.g., an ICE (In CircuitEmulator) device. However, this not only needs a specialized device suchas the ICE, but also requires a long working time and skilled operators,which is not desirable in production efficiency.

Therefore, the present embodiment is characterized by initializing thenonvolatile memory 86 of the computer 3 to desired contents in aconvenient and flexible manner without using the ICE device.Specifically, upon a switchover of the memory select signal 89 tosetting for initialization, the CPU 88 of the computer 3 is set toaccess a predetermined address (address 0x0000 0000 in the example ofFIG. 8B and read instructions after power is connected and reset isreleased. This address of 0x0000 0000 is on the nonvolatile memory 81 ofthe media input device 6 and the initialization program 84 is stored inthe same address. Then, the CPU 88 reads and executes the initializationprogram 84. Description in the initialization program 84 is aninstruction to transfer initialization data, which is stored in theinitialization media 5, to the nonvolatile memory 86. Thereby, the CPU88 can acquire initialization data from the initialization media 5 andtransfer this data to the nonvolatile memory 86, even if the nonvolatilememory 86 is empty.

After thus transferring only necessary data from the initializationmedia 5 to the nonvolatile memory 86, the media input device 6 isdisconnected from the computer 3. At this point of time, necessaryprograms have been transferred and written to the nonvolatile memory 86of the computer 3. Hence, the computer 3 to be initialized can performintended operation even without the media input device 6.

Here, Described is an example of a method of using the computerinitialization system of the present embodiment. In the production lineof the computer 3 to be initialized, an operator acquires the computerID 8 and task data 9 by aiming the ID input device 2 such as, e.g., anRFID reader/writer at the computer 3 and the task sheet 4 for thecomputer. The ID input device 2 transmits the acquired computer ID 8 andtask data 9 to the initialization data server 1. The initialization dataserver 1 generates initialization data related with the computer ID 8and task data 9, and stores the initialization data into theinitialization media 5 such as, for example, a PC card type flash memorycard connected to the initialization data server 1. Then, the operatorremoves the initialization media 5 from the initialization data server 1and inserts the initialization media 5 into the media input device 6.The operator connects the media input device 6 to the computer 3 inwhich the memory select signal 89 has been set for initialization. Afterthat, the operator only turns on the power to the computer 3, then thecomputer 3 is initialized.

Hence, according to the present embodiment, it is possible to easily setup desired programs from the initialization media 5 into the nonvolatilememory 86 of the computer 3. Programs appropriate for the type andfunctions of the computer 3 can be set up in a machine specific mannerand, thus, various requirements can be satisfied flexibly.

Accordingly, there is no need to write programs into the nonvolatilememory 86 before installing the nonvolatile memory in the computer 3.There is no need to writing programs into the nonvolatile memory 86 ofthe computer 3 by using a specialized device such as the ICE.Consequently, for embedded computers which need different programs to beinstalled according to their applications, it is possible to produce inadvance a large quantity of computer devices having the same hardwareconfiguration and install implementation programs after the applicationsof the devices are determined, and this can improve productionefficiency.

The media input device 6 and the initialization media 5 must beconnected to the computer 3 only when the computer is initialized.Therefore, there is no need for the computer 3 to install thenonvolatile memory 81 where the initialization program 84 has beenloaded. Accordingly, the computer 3 to be initialized can be configuredwith a minimum number of parts and its implementation is feasible byonly adding the memory selector 87 and the media input device I/F 85 toan embedded computer which has a wide spectrum of applicationscurrently.

In the present embodiment, as data transmission means between the IDinput device 2 and the computer 3 or the task sheet 4, any transmissionmeans may be used, provided that data such as computer ID 8 and taskdata 9 can be transferred therebetween. For example, bar code,two-dimensional bar code, wireless tags for active or passive radiotransmission/reception using 13.56 MHz/UHF/ISM (Industry ScienceMedical; frequencies around a center frequency of 2.4 GHz) bands,infrared light, contact IC cards, etc. can be applied.

Communication means between the ID input device 2 and the initializationdata server 1 may be provided by applying wired or wireless networktechnology or using a serial transmission scheme called RS-232C.

Further, for the initialization media 5, for example, a PC card typenonvolatile memory card, a Compact Flash™ type nonvolatile memory card,CD-ROM, DVD-ROM, a nonvolatile memory connecting with USB can be used.As examples of a communication path that is used for the initializationmedia 5, RS-232C, a communication scheme prescribed in IEEE 802.3, awireless communication scheme prescribed in IEEE 802.11, etc. can beapplied.

For a nonvolatile memory such as the nonvolatile memory 24 of theinitialization data server 1, an electrically erasable and programmableEEPROM, a flash memory, a hard disk device, a magneto optical media suchas CD-ROM, etc. can be applied.

Further, for network technology that is used as the network 32 in FIG.2, Ethernet™ which is a wired network technology, RS485, a serialtransmission technology using optical fibers and other media, or aparallel transmission technology such as SCSI and PCI bus, etc. can beapplied; however, applicable network technology is not limited to these.

Second Embodiment

A block diagram representing a schematic framework of a computerinitialization system of a second embodiment of the present invention isshown in FIG.9. Differences of the present second embodiment from thefirst embodiment are change of the ID input device 2 in the firstembodiment to an ID input/output device 90, change of the wireless tagin which the computer ID 8 is stored to a readable/writable computer tag91, and addition of a tag data setting means 92 to the initializationdata server 1. Therefore, functions and elements and the likecorresponding to those in the first embodiment 1 are assigned the samereference numbers and their description is not repeated.

A feature of the present embodiment is that data can be set up from theinitialization data server 1 into the computer tag 91 installed on thecomputer 3. As the data to be set up from the initialization data server1, mentioned as examples is configuration information for OS andapplications and information required to operate the computer 3, suchas, e.g., IP address and parameters for RS-232C connection.

The computer tag 91 is a tag having a memory for preserving data. As thecomputer tag 91, a wireless tag using RFID or IEEE 802.11 standard or anIC card having contacts is preferable. Data of the computer ID 8 in thefirst embodiment is stored in the computer tag 91.

The ID input/output device 90 has a function to read task data 9 and afunction of reading/writing from/to a computer tag 91. The IDinput/output device 90 connects to the initialization data server 1,sends task data 9 and data from the computer tag 91 to the ID dataacquisition means 15, and sets up data from the tag data setting means92 into the computer tag 91.

The tag data setting means 92 of the initialization data server 1 hasfunctions to generate computer tag data, based on data stored in thecomputer DB 10, task DB 11, and initialization DB 12, and send thecomputer tag data to the ID input/output device 90. The tag data settingmeans 92 is realized by a program and this program is installed in thenonvolatile memory 24 in FIG. 2 as a tag data setting program.

An operation flow of the computer initialization system of the presentembodiment is illustrated in FIG. 10. Difference of this operation flowin this figure from the operation flow of FIG. 3 is addition ofprocessing of step 107 and other details are the same as processing inFIG. 3. At step 107, the tag data setting means 92 in the initializationdata server 1 generates computer tag data from the computer DB 10, taskDB 11, and initialization DB 12. And the computer tag data is writteninto the computer tag 91 via the ID input/output device 90. The computertag data is data related to initialization data generated by processingfrom step 100 to step 106 and comprises setting values related to OS,applications, and device drivers included in the initialization data. Inparticular, parameters (IP address, RS-232C communication parameters,etc.) for connection with the computer 3, TCP port numbers forapplications for setup, installation software version information,manufacturing date, a manufacturing serial number, etc. are mentioned asexamples.

According to the present embodiment, setup data relevant to the computer3 to be initialized can be held in the computer tag 91. In consequence,when the computer 3 is put to maintenance, necessary information can beacquired without accessing the computer DB 10, task DB 11, andinitialization data 12, and maintainability is improved.

Third Embodiment

FIG. 11 shows a block diagram representing a schematic framework of acomputer initialization system of a third embodiment of the presentinvention. Difference of the present embodiment from the computer 3 inthe first and second embodiments is addition of a computer tag I/F 93between the computer tag 91 and the CPU 88. Since other components arethe same as in the first and second embodiments, they are assigned thesame reference numbers and their description is not repeated.

Although the computer tag 91 in this embodiment is installed on thecomputer 3 in FIG. 11, alternately a wireless tag may be used as in thefirst embodiment. The computer tag I/F 93 is an interface device for theCPU 88 to acquire data stored in the computer tag 91. For example, theCPU 88 can perform processing for authentication of the computer 3 byusing the computer ID of the computer 3 described in the computer tag91. For the authentication of the computer 3, the use of cryptographictechnology is preferable.

For example, in a case where a public key cryptosystem is used, aprivate key corresponding to the computer ID 8 and a public key areprepared. The private key is stored only in the computer tag 91 and thepublic key is disclosed in a system where a computer devicecommunicating with the computer 3 can know the public key, for example,a PKI (Public Key Infrastructure) system.

The peer obtains the computer ID 8 from the computer 3 before startingcommunication and also obtains the pubic key corresponding to thecomputer ID 8 from a certificate authority. If a document encrypted bythe peer using the pubic key can be decrypted using the correspondingprivate key by the computer to be initialized 3, it is possible toauthenticate that the computer ID 8 of the computer 3 is valid.

When the computer tag 91 communicates with its outside by radiotechnology, known is a technology that forms an antenna for radiocommunication on the printed circuit board of the tag. The tagcommunicates with the computer tag I/F 93 via the antenna formed on theprinted circuit board, so that the CPU 88 can refer to data in thecomputer tag 91.

According to the present embodiment, in addition to advantages of thefirst and second embodiments, an application running on the computer 3can make use of the computer ID 8 for purposes such as, for example,authentication and unique identification.

Fourth Embodiment

FIG. 12 shows a block diagram of a media input device that is used in acomputer initialization system of a fourth embodiment of the presentinvention. Difference of the present embodiment from the media inputdevice 6 in the first and second embodiments lies in that media inputdevice 6 is equipped with an initialization communication unit 94 and acommunication buffer 95 instead of the initialization media 5 and themedia I/F 80. Since other components are the same as in the first andsecond embodiments, they are assigned the same reference numbers andtheir description is not repeated.

In the present embodiment, the initialization communication unit 94communicates with the communication unit 23 and the media output unit 25of the initialization data server 1 of FIG. 2. Initialization datagenerated by the initialization data server 1 is stored into thecommunication buffer 95. As the communication buffer 95, a volatilememory such as SRAM or DRAM or a nonvolatile memory such as a flashmemory or EEPROM can be used. Upon receiving a request forinitialization data from the computer 3, the computer I/F 82 acquiresinitialization data from the communication buffer 95 via theinitialization communication unit 94.

By configuring the media input device 6 as in the present embodiment,only required is of a communication path between the initialization dataserver 1 and the media input device 6 is only required. If connectionsare established in advance between the initialization data server 1 andthe media input device 6 and between the media input device 6 and thecomputer 3, it is possible to automate the procedure comprising:acquiring the computer ID 8 from the computer 3, generatinginitialization data related with the computer ID, and finallytransferring the initialization data to the computer. Therebyproductivity can be improved.

1. A computer initialization system comprising: an initialization datagenerator including a task database in which task descriptions forinitializing a computer are specified related with task IDs, and aninitialization database in which initialization data descriptions forinitializing said computer are stored related with initialization dataIDs; wherein said initialization data generator comprises: a dataacquisition means which takes input of a computer ID for identifyingsaid computer and task data for initialization of said computer, whereinsaid task data specifies said task IDs for identifying said taskdescriptions, task ordering for initialization task, and saidinitialization data IDs for identifying initialization data ofinitialization-software to be installed into said computer; and aninitialization data generation means which reads said task descriptionsand said initialization data descriptions from said task database andsaid initialization database according to said task ordering, by usingsaid task IDs, said task ordering and said initialization data IDs, andgenerates said initialization data for initializing said computeraccording to said data descriptions.
 2. The computer initializationsystem according to claim 1, wherein said initialization data generatorfurther comprises an initialization data output means for transferringsaid initialization data generated by said initialization datageneration means to said computer to be initialized.
 3. The computerinitialization system according to claim 1, wherein said initializationdata generator further comprises a computer database for storing saidcomputer ID and said task data related with each other, and a relatingmeans for relates said computer ID and said task data acquired by saiddata acquisition means and stores them into said computer database. 4.The computer initialization system according to claim 2, wherein saidinitialization data output means is configured to outputs saidinitialization data to an initialization media which is connectable tosaid computer to be initialized.
 5. The computer initialization systemaccording to claim 1, further comprising: a wireless tag in which saidcomputer ID and said task data are described; and an input device whichreads said computer ID and said task data from said wireless tag totransmit them to said data acquisition means.
 6. A computerinitialization system comprising: an ID input device for reading acomputer ID for identifying a computer to be initialized and a task datafor initialization of said computer, wherein said task data specifiestask IDs for identifying initialization-task descriptions, task orderingfor initialization task, and initialization data IDs for identifyinginitialization data of initialization-software to be installed into saidcomputer; a task database for specifying task descriptions forinitializing said computer related with said task IDs; an initializationdatabase for storing initialization data descriptions for initializingsaid computer related with said initialization data IDs; aninitialization data generator which is connected to said input devicevia a communication means, reads said task descriptions and saidinitialization data descriptions from said task database and saidinitialization database according to said task ordering related withsaid task data, by using said computer ID and said task data which areinput from said input device, and generates said initialization data forinitializing said computer according to said data descriptions; and amedia input device including an initialization media for connecting tosaid initialization data generator via a communication means to storesaid initialization data transferred from said initialization datagenerator, a memory for containing an initialization program for saidcomputer, and a computer interface that, by request from said computerto be initialized, transfers said initialization program for readingsaid initialization data from said initialization media to saidcomputer.
 7. The computer initialization system according to claim 6,wherein said initialization data generator comprises a data acquisitionmeans for taking in said computer ID and said task data from said IDinput device, and a relating means for relating said computer ID andsaid task data acquired by said target data acquisition means to storethem into a computer database.
 8. The computer initialization systemaccording to claim 7, wherein said initialization data generator furthercomprises a tag data setting means for setting computer tag data, basedon the contents of said computer database, said task database, and saidinitialization database, wherein said computer tag data includes atleast one of the following: initialization software-parameters includedin said initialization data, TCP port numbers for applications forsetup, installation software version information, manufacturing date,and a manufacturing serial number; and wherein said initialization datagenerator is configured to transfer and write said computer tag data toa computer tag provided in or attached to said computer.
 9. The computerinitialization system according to claim 6, wherein said computer to beinitialized comprises a media input device interface connected to thecomputer interface of said media input device via a communication means,and a selector means for allowing an arithmetic processing means of saidcomputer to be initialized to get access to said media input device,wherein said arithmetic processing means is configured to writeinitialization data stored in said initialization media into a programmemory of said computer by reading and executing said initializationprogram residing in said media input device via said media input deviceinterface and said computer interface.